lbmpy: Automatic code generation for efficient parallel lattice Boltzmann methods

نویسندگان

چکیده

Lattice Boltzmann methods are a popular mesoscopic alternative to classical computational fluid dynamics based on the macroscopic equations of continuum mechanics. Many variants lattice have been developed that vary in complexity, accuracy, and cost. Extensions available simulate multi-phase, multi-component, turbulent, non-Newtonian flows. In this work we present lbmpy, code generation package supports wide variety different methods. Additionally, lbmpy provides generic development environment for new schemes. A high-level domain-specific language allows user formulate, extend test various all cases, method can be specified symbolic form. Transformations operate representation yield highly efficient compute kernels. This is achieved by automatically parallelizing methods, application-specific automatized steps optimize resulting code. pipeline transformations applied range variants, including single- two-relaxation-time schemes, multi-relaxation-time as well more advanced cumulant entropically stabilized integrated into high-performance computing frameworks enable massively parallel, distributed simulations. demonstrated using waLBerla multiphysics conduct scaling experiments SuperMUC-NG supercomputing system up 147 456 cores.

برای دانلود باید عضویت طلایی داشته باشید

برای دانلود متن کامل این مقاله و بیش از 32 میلیون مقاله دیگر ابتدا ثبت نام کنید

اگر عضو سایت هستید لطفا وارد حساب کاربری خود شوید

منابع مشابه

Parallel Lattice Boltzmann Methods for CFD Applications

The lattice Boltzmann method (LBM) has evolved to a promising alternative to the well-established methods based on finite elements/volumes for computational fluid dynamics simulations. Ease of implementation, extensibility, and computational efficiency are the major reasons for LBM’s growing field of application and increasing popularity. In this paper we give a brief introduction to the involv...

متن کامل

Efficient automatic code generation for embedded systems

Developing a safety critical real-time application raises high challenge: “failure is not an option”. The code has to be readable, reliable and efficient. For doing so, VERILOG has developed an environment based on formal approach. This is the only way to be in a position to prove that the code is doing what it is supposed to do, always.

متن کامل

Entropic Lattice Boltzmann Methods

We present a general methodology for constructing lattice Boltzmann models of hydrodynamics with certain desired features of statistical physics and kinetic theory. We show how a methodology of linear programming theory, known as Fourier-Motzkin elimination, provides an important tool for visualizing the state space of lattice Boltzmann algorithms that conserve a given set of moments of the dis...

متن کامل

Automatic Generation of Efficient Adjoint Code for the Parallel MIT General Circulation Model

In one of the most complex Earth science inverse modeling initiatives, the Estimation of the Circulation and Climate of the Ocean (ECCO) project is developing greatly improved estimates of the three-dimensional, time-evolving state of the global oceans [1, 2]. To this end, the project is applying extimation/optimal control techniques to constrain a state-of-the-art parallel general circulation ...

متن کامل

Automatic Generation of Parallel Code for Hessian Computations

Given a program to compute some function, automatic differentiation can be used to mechanically generate another program capable of evaluating firstand higher-order derivatives of that function. A new strategy for the computation of Hessians by automatic differentiation is proposed where the generated code is automatically parallelized using OpenMP. The approach is applied to compute second-ord...

متن کامل

ذخیره در منابع من


  با ذخیره ی این منبع در منابع من، دسترسی به آن را برای استفاده های بعدی آسان تر کنید

ژورنال

عنوان ژورنال: Journal of Computational Science

سال: 2021

ISSN: ['1877-7511', '1877-7503']

DOI: https://doi.org/10.1016/j.jocs.2020.101269